package com.hoshiicloud.elasticsearch.entity;


import lombok.Data;
import org.springframework.data.annotation.Id;
import org.springframework.data.elasticsearch.annotations.Document;
import org.springframework.data.elasticsearch.annotations.Field;
import org.springframework.data.elasticsearch.annotations.FieldType;


import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * <p>
 * 平台商品表SKU
 * </p>
 *
 * @author ygd
 * @since 2019-06-04
 */
@Data
@Document(indexName = "sku",type = "sku")
public class Sku implements Serializable {

    private static final long serialVersionUID = 1L;

    @Id
    private Long id;

    /**
     *
     */
    private Long companyid;


    /**
     *
     */
    private Long platformid;


    /**
     *
     */
    private Long storeid;


    /**
     * spuid
     */
    private Long spuid;


    /**
     * skuid
     */
    private Long skuid;


    /**
     * title
     */
    @Field(analyzer = "ik_max_word", type = FieldType.Text)
    private String skuTitle;


    /**
     * 售价
     */
    private BigDecimal salePrice;


    /**
     * 市场价
     */
    private BigDecimal maketPrice;


    /**
     * 成本价
     */
    private BigDecimal costPrice;


    /**
     * 供应商
     */
    private Long vendorId;


    /**
     * sku图片
     */
    private String skuImage;


    /**
     * 属性
     */
    private String extendProperty;


    /**
     * 规格
     */
    private String extendSpec;


    /**
     * 1-单类仓库 2-多类仓库
     */
    private Integer dispatchPolicy;


    /**
     * 单类仓库类别 ID
     */
    private Long dispatchWhid;


    /**
     * 多类仓库类别ID 集合   1:2:3
     */
    private String dispatchWhids;


    /**
     * 库存检验逻辑：1-库存足够才能下单 2-库存不够也能下单
     */
    private Integer storeEnough;


    /**
     * 状态  0-待审批 1-审批未过 2-已上架 3-已下架
     */
    private Integer status;


    /**
     * 是否删除
     */
    private Integer deleted;


    /**
     * sku编号
     */
    @Field(type = FieldType.Keyword)
    private String skuno;


    /**
     * 条形码
     */
    private String barcode;


    /**
     * 箱码
     */
    private String packetcode;


    /**
     * 是否付库存
     */
    private Integer isStored;


    /**
     * 包装单位
     */
    private String packetUnit;


    /**
     * 商品重量
     */
    private BigDecimal weight;


    /**
     * 采购策略  1-指定供应商 2-系统派单
     */
    private Integer strategy;


    /**
     * 自己作为供应商  1-是 2-否
     */
    private Integer vendorSelf;


    /**
     * 库存检验逻辑：1-库存足够才能下单 2-库存不够也能下单
     */
    private Integer stockEnough;


}
